package io.github.talelin.latticy.mapper.oms;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.github.talelin.latticy.bo.FileBO;
import io.github.talelin.latticy.dto.oms.product.ProductPage;
import io.github.talelin.latticy.execl.oms.Product.ProductExecl;
import io.github.talelin.latticy.model.oms.ProductDO;
import io.github.talelin.latticy.vo.oms.ProductVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

public interface ProductMapper extends BaseMapper<ProductDO> {

    /**
     * 查询所有
     *
     * @return
     */
    List<ProductDO> selectAll();

    /**
     * 条件分页查询
     *
     * @param page
     * @param productPage
     * @return
     */
    IPage<ProductVO> pageList(Page page, @Param("params") ProductPage productPage);

    /**
     * 修改
     *
     * @param productDO
     */
    void updateProductById(ProductDO productDO);

    /**
     * 批量工具sku修改图片
     * @param list
     */
    void batchUpdateUrl(List<FileBO> list);
    /**
     * 删除产品
     * @param ids
     */
    void delById(List<Long> ids);

    /**
     * 查询所有删除产品
     * @return
     */
    List<ProductDO> findDelAll();
}